A Compiler Framework to Detect Parallelism in Irregular Codes
نویسندگان
چکیده
This paper describes a compiler framework that enhances the detection of parallelism in loops with complex irregular computations. The framework is based on the static analysis of the Gated Single Assignment (GSA) program representation. A taxonomy of the strongly connected components (SCCs) that appear in GSA dependence graphs is presented as the basis of our framework. Furthermore, an algorithm for classifying the set of SCCs associated with loops is described. We have implemented a prototype of the SCC classification algorithm using the infrastructure provided by the Polaris parallelizing compiler. Experimental results for a suite of real irregular programs are shown.
منابع مشابه
FADAlib: an open source C++ library for fuzzy array dataflow analysis
Ubiquitous multicore architectures require that many levels of parallelism have to be found in codes. Dependence analysis is the main approach in compilers for the detection of parallelism. It enables vectorisation and automatic parallelisation, among many other optimising transformations, and is therefore of crucial importance for optimising compilers. This paper presents new open source softw...
متن کاملD Newsletter #9 Handling Irregular Problems with Fortran D | a Preliminary Report Handling Irregular Problems with Fortran D | a Preliminary Report
Compiling irregular applications written in a data parallel, HPF-like language presents a challenging problem of growing importance. A project addressing this problem is the extension of the Fortran D compiler at Rice University to handle such codes. Generality and robustness have been major design objectives throughout this extension, allowing for arbitrary control ow and irregular accesses to...
متن کاملCompiler Support for Machine Independent Parallelization of Irregular Problems Compiler Support for Machine Independent Parallelization of Irregular Problems
The Fortran D group at Rice University aims at providing a machine independent data parallel programming style, in which the applications programmer uses a dialect of sequential Fortran and high level distribution annotations. Extracting parallelism from these applications typically is straightforward, but making eecient use of this par-allelism for irregular applications, such as molecular dyn...
متن کاملCode Study: Automatic Parallelism Detection in Dyfesm
This paper reports the results of our study on the Perfect Benchmarks code DYFESM in order to determine how e ective automatic parallelism detection techniques are on this code. So far, researchers in the area of automatic parallelization have not reported any speedups for DYFESM. In fact, it is diÆcult to automatically nd the parallelism in this code. The main reason is that indirectly accesse...
متن کاملUnderstanding Language Support for Irregular Parallelism
While software support for array-based, data-parallel algorithms has been studied extensively, less attention has been devoted to irregular parallel applications. The majority of these applications are unstructured, that is, they possess asynchronous components that do not t the data-parallel model. Examples of unstructured applications include sparse matrix and n-body problems. Previous resear...
متن کامل